home *** CD-ROM | disk | FTP | other *** search
Wrap
package a; import a.a.a.BitSet; import antlr.ANTLRLexer; import antlr.ANTLRParser; import antlr.CodeGenerator; import antlr.DefaultToolErrorHandler; import antlr.FileCopyException; import antlr.LLkAnalyzer; import antlr.MakeGrammar; import antlr.ToolErrorHandler; import antlr.collections.impl.Vector; import java.io.DataInputStream; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.Reader; public class Tool { // $FF: renamed from: a antlr.ToolErrorHandler ToolErrorHandler field_0; // $FF: renamed from: b boolean protected boolean field_1 = false; // $FF: renamed from: c boolean boolean field_2 = false; // $FF: renamed from: d boolean boolean field_3 = false; // $FF: renamed from: e java.lang.String protected static String field_4 = "."; // $FF: renamed from: f java.lang.String String field_5; // $FF: renamed from: g java.io.Reader transient Reader field_6; // $FF: renamed from: h java.lang.String protected static String field_7 = method_4("6\nBeu;\u000fI"); // $FF: renamed from: i boolean protected static boolean field_8; // $FF: renamed from: j a.a.a.BitSet private static BitSet field_9 = new BitSet(); public Tool() { this.field_6 = new InputStreamReader(System.in); this.field_0 = new DefaultToolErrorHandler(); } // $FF: renamed from: a (java.lang.String[], a.a.a.BitSet) void private static void method_0(String[] var0, BitSet var1) { for(int var2 = 0; var2 < var0.length; ++var2) { if (!var1.member(var2)) { warning(method_4("\u0013-`AK\u0013'6CH\u0017.wNCW/\u007fNBZ\"dGR\u0017&xT\u001dZ") + var0[var2] + method_4("Ac\u007fGI\u00151sD")); } } } public static void copyFile(String var0, String var1) throws IOException { File var2 = new File(var0); File var3 = new File(var1); FileReader var4 = null; FileWriter var5 = null; try { if (!var2.exists() || !var2.isFile()) { throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u0014,6SR\u0019+6SH\u000f1uE\u0007\u001c*zE\u001dZ") + var0); } else if (!var2.canRead()) { throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\t,cRD\u001fcpIK\u001fc\u007fS\u0007\u000f-dEF\u001e\"tLB@c") + var0); } else { if (var3.exists()) { if (!var3.isFile()) { throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014c\u007fS\u0007\u0014,b\u0000FZ%\u007fLB@c") + var1); } new DataInputStream(System.in); if (!var3.canWrite()) { throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014cpIK\u001fc\u007fS\u0007\u000f-aRN\u000e&wBK\u001fy6") + var1); } } else { File var10 = parent(var3); if (!var10.exists()) { throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014crIU\u001f bOU\u0003crOB\t-1T\u0007\u001f;\u007fSS@c") + var1); } if (!var10.canWrite()) { throw new FileCopyException(method_4("<*zEd\u00153o\u001a\u0007\u001e&eTN\u0014\"bIH\u0014crIU\u001f bOU\u0003c\u007fS\u0007\u000f-aRN\u000e&wBK\u001fy6") + var1); } } var4 = new FileReader(var2); var5 = new FileWriter(var3); char[] var6 = new char[1024]; while(true) { int var7 = ((InputStreamReader)var4).read(var6, 0, 1024); if (var7 == -1) { return; } ((OutputStreamWriter)var5).write(var6, 0, var7); } } } finally { if (var4 != null) { try { ((InputStreamReader)var4).close(); } catch (IOException var17) { } } if (var5 != null) { try { ((OutputStreamWriter)var5).close(); } catch (IOException var16) { } } } } // $FF: renamed from: a (java.lang.String[]) void void method_1(String[] var1) { antlr.preprocessor.Tool var2 = new antlr.preprocessor.Tool(this, var1); if (!var2.preprocess()) { System.exit(1); } String[] var3 = var2.preprocessedArgList(); this.method_3(var3); try { if (this.field_5 != null) { this.field_6 = new FileReader(this.field_5); } } catch (IOException var19) { System.err.println(method_4("?1dOU@cuAI\u0014,b\u0000H\n&x\u0000@\b\"{MF\bcpIK\u001fc") + this.field_5); method_2(); System.exit(1); } TokenBuffer var4 = new TokenBuffer(new ANTLRLexer(this.field_6)); LLkAnalyzer var5 = new LLkAnalyzer(this); MakeGrammar var6 = new MakeGrammar(this, var1, var5); try { ANTLRParser var7 = new ANTLRParser(var4, var6, this); var7.grammar(); if (this.field_1) { System.out.println(method_4("?;\u007fTN\u0014$6DR\u001fcbO\u0007\u001f1dOU\tm")); System.exit(1); } method_0(var3, field_9); String var9 = method_4("\u001b-bLUT") + this.getLanguage(var6) + method_4("9,rE`\u001f-sRF\u000e,d"); try { Class var10 = Class.forName(var9); CodeGenerator var8 = (CodeGenerator)var10.newInstance(); var8.setBehavior(var6); var8.setAnalyzer(var5); var8.setTool(this); var8.gen(); } catch (ClassNotFoundException var11) { panic(method_4("9\"xNH\u000ec\u007fNT\u000e\"xTN\u001b7s\u0000D\u0015's\r@\u001f-sRF\u000e,d\u001a\u0007") + var9); } catch (InstantiationException var12) { panic(method_4("9\"xNH\u000ec\u007fNT\u000e\"xTN\u001b7s\u0000D\u0015's\r@\u001f-sRF\u000e,d\u001a\u0007") + var9); } catch (IllegalArgumentException var13) { panic(method_4("9\"xNH\u000ec\u007fNT\u000e\"xTN\u001b7s\u0000D\u0015's\r@\u001f-sRF\u000e,d\u001a\u0007") + var9); } catch (IllegalAccessException var14) { panic(method_4("\u0019,rE\n\u001d&xEU\u001b7yR\u0007\u0019/wSTZd") + var9 + method_4("]c\u007fS\u0007\u0014,b\u0000F\u0019 sST\u0013!zE")); } } catch (MismatchedTokenException var15) { System.err.println(method_4("/-~AI\u001e/sD\u0007\n\"dSB\bcsRU\u00151,\u0000") + ((Throwable)var15).getMessage()); } catch (NoViableAltException var16) { System.err.println(method_4("/-~AI\u001e/sD\u0007\n\"dSB\bcsRU\u00151,\u0000") + ((Throwable)var16).getMessage()); } catch (ParserException var17) { System.err.println(method_4("/-~AI\u001e/sD\u0007\n\"dSB\bcsRU\u00151,\u0000") + ((Throwable)var17).getMessage()); } catch (IOException var18) { System.err.println(method_4("3\fSXD\u001f3bIH\u0014y6") + ((Throwable)var18).getMessage()); } } public void error(String var1) { this.field_1 = true; System.out.println(method_4("\u001f1dOU@c") + var1); } public void error(String var1, int var2) { this.field_1 = true; System.out.println(method_4("\u001f1dOU@czII\u001fc") + var2 + method_4("@c") + var1); } public static Object factory(String var0) { Object var2 = null; try { Class var1 = Class.forName(var0); var2 = var1.newInstance(); return var2; } catch (Exception var3) { warning(method_4("9\"x\u0007SZ dEF\u000e&6AIZ,tJB\u001976OAZ7oPBZ") + var0); return null; } } public static String fileMinusPath(String var0) { String var1 = System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR")); int var2 = var0.lastIndexOf(var1); return var2 == -1 ? var0 : var0.substring(var2 + 1); } public String getLanguage(MakeGrammar var1) { if (this.field_2) { return method_4(">*wGI\u00150bID"); } else { return this.field_3 ? method_4("2\u0017[l") : var1.language; } } public static String getOutputDirectory() { return field_4; } // $FF: renamed from: a () void private static void method_2() { System.err.println(method_4("\u000f0wGB@c|AQ\u001bcwNS\u001618tH\u0015/6{F\b$e}\u0007\u001c*zE\t\u001d")); System.err.println(method_4("Zc;O\u0007\u00156bPR\u000e\u0007\u007fR\u0007Zc6\u0000\u0007\t3sCN\u001c:6OR\u000e3cT\u0007\u001e*dED\u000e,dY\u0007\r+sRBZ\"zL\u0007\u00156bPR\u000ecqEI\u001f1wTB\u001em")); System.err.println(method_4("Zc;DB\u00186q\u0000\u0007Zc6\u0000\u0007Zc6\u0000\u0007\u0016\"cND\u0012cbHBZ\u0013wRT\u001f\u0015\u007fEPZ'sBR\u001d$sR\u0007\u000f3yN\u0007\n\"dSB\bc\u007fNQ\u0015 wTN\u0015-8")); System.err.println(method_4("Zc;HS\u0017/6\u0000\u0007Zc6\u0000\u0007Zc6\u0000\u0007\u001d&xEU\u001b7s\u0000F\u0014c~TJ\u0016cpIK\u001fcpRH\u0017coOR\bcqRF\u0017.wR\u0007R.\u007fNR\tcwCS\u0013,xS\u000eT")); System.err.println(method_4("Zc;TU\u001b s\u0000\u0007Zc6\u0000\u0007Zc6\u0000\u0007\u0012\"`E\u0007\u001b/z\u0000U\u000f/sS\u0007\u0019\"zL\u0007\u000e1wCB3-9TU\u001b soR\u000em")); System.err.println(method_4("Zc;TU\u001b spF\b0sR\u0007Zc6\u0000\u0007\u0012\"`E\u0007\n\"dSB\bcdUK\u001f06CF\u0016/6TU\u001b siIU7dAD\u001f\fcT\t")); System.err.println(method_4("Zc;TU\u001b slB\u0002&d\u0000\u0007Zc6\u0000\u0007\u0012\"`E\u0007\u0016&nEUZ1cLB\tcuAK\u0016cbRF\u0019&_N\b\u000e1wCB56b\u000e")); System.err.println(method_4("Zc;TU\u001b stU\u001f&AAK\u0011&d\u0000\u0007\u0012\"`E\u0007\u000e1sE\u0007\r\"zKB\bcdUK\u001f06CF\u0016/6TU\u001b siIU7dAD\u001f\fcT\t")); } public static void main(String[] var0) { System.err.println(method_4(";\rBluZ\u0013wRT\u001f16gB\u0014&dAS\u001516\u0000\u0007,&dSN\u0015-6\u0012\tOm&\u0000\u0007Zr/\u0018\u001eWr/\u0019\u001fZ\u000ewGB6\"xG\u00073-eTN\u000e6bE")); try { if (var0.length == 0) { method_2(); } Tool var1 = new Tool(); var1.method_1(var0); Object var3 = null; } catch (Exception var2) { System.err.println(System.getProperty(method_4("\u0016*xE\t\t&fAU\u001b7yR")) + System.getProperty(method_4("\u0016*xE\t\t&fAU\u001b7yR"))); System.err.println(method_4("Yg3\u0005\r\\\u00035\u0000N\u00147sRI\u001b/6EU\b,d\u001a\u0007") + ((Throwable)var2).toString()); System.err.println(method_4("! yMW\u0016\"\u007fN\u0007\u000e,6NB\u001b1sSSZ$yVB\b-{EI\u000ecyFA\u0013 \u007fAK")); System.err.println(method_4("Z,d\u0000T\u001f-r\u0000O\u001b7s\rJ\u001b*z\u0000S\u0015cfAU\b7VPF\b1;RB\t&wRD\u0012muOJA")); System.err.println(method_4("Z3zEF\t&6SB\u0014'6SS\u001b }\u0000S\b\"uE\u0007\r*bH\u0007\b&fOU\u000emK") + System.getProperty(method_4("\u0016*xE\t\t&fAU\u001b7yR"))); ((Throwable)var2).printStackTrace(); } System.exit(0); } public static PrintWriter openOutputFile(String var0) throws IOException { return new PrintWriter(new FileWriter(field_4 + System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR")) + var0)); } public static void panic() { System.err.println(method_4("\n\"xID")); System.exit(1); } public static void panic(String var0) { System.err.println(method_4("\n\"xID@c") + var0); System.exit(1); } public static File parent(File var0) { String var1 = var0.getParent(); if (var1 == null) { return var0.isAbsolute() ? new File(File.separator) : new File(System.getProperty(method_4("\u000f0sR\t\u001e*d"))); } else { return new File(var1); } } public static Vector parseSeparatedList(String var0, char var1) { Vector var2 = new Vector(10); StringBuffer var3 = new StringBuffer(100); int var4 = 0; while(var4 < var0.length()) { while(var4 < var0.length() && var0.charAt(var4) != var1) { var3.append(var0.charAt(var4)); ++var4; } var2.appendElement(var3.toString()); var3.setLength(0); if (var4 < var0.length()) { ++var4; } } if (var2.size() == 0) { return null; } else { return var2; } } public static String pathToFile(String var0) { String var1 = System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR")); int var2 = var0.lastIndexOf(var1); return var2 == -1 ? "." + System.getProperty(method_4("\u001c*zE\t\t&fAU\u001b7yR")) : var0.substring(0, var2 + 1); } // $FF: renamed from: b (java.lang.String[]) void private void method_3(String[] var1) { for(int var2 = 0; var2 < var1.length; ++var2) { if (var1[var2].equals(method_4("W'\u007fA@\u0014,eTN\u0019"))) { this.field_2 = true; this.field_3 = false; setArgOK(var2); } else if (var1[var2].equals(method_4("W,"))) { setArgOK(var2); if (var2 + 1 >= var1.length) { this.error(method_4("\u0017*eSN\u0014$6OR\u000e3cT\u0007\u001e*dED\u000e,dY\u0007\r*bH\u0007W,6OW\u000e*yN\u001cZ*qNH\b*xG")); } else { ++var2; setOutputDirectory(var1[var2]); setArgOK(var2); } } else if (var1[var2].equals(method_4("W+bMK"))) { this.field_3 = true; this.field_2 = false; setArgOK(var2); } else if (var1[var2].charAt(0) != '-') { this.field_5 = var1[var2]; setArgOK(var2); } } } public static void setArgOK(int var0) { field_9.add(var0); } public static void setOutputDirectory(String var0) { field_4 = var0; } public static String stripBack(String var0, char var1) { while(var0.length() > 0 && var0.charAt(var0.length() - 1) == var1) { var0 = var0.substring(0, var0.length() - 1); } return var0; } public static String stripBack(String var0, String var1) { boolean var2; do { var2 = false; for(int var3 = 0; var3 < var1.length(); ++var3) { for(char var4 = var1.charAt(var3); var0.length() > 0 && var0.charAt(var0.length() - 1) == var4; var0 = var0.substring(0, var0.length() - 1)) { var2 = true; } } } while(var2); return var0; } public static String stripFront(String var0, char var1) { while(var0.length() > 0 && var0.charAt(0) == var1) { var0 = var0.substring(1); } return var0; } public static String stripFront(String var0, String var1) { boolean var2; do { var2 = false; for(int var3 = 0; var3 < var1.length(); ++var3) { for(char var4 = var1.charAt(var3); var0.length() > 0 && var0.charAt(0) == var4; var0 = var0.substring(1)) { var2 = true; } } } while(var2); return var0; } public static String stripFrontBack(String var0, String var1, String var2) { int var3 = var0.indexOf(var1); int var4 = var0.lastIndexOf(var2); return var3 != -1 && var4 != -1 ? var0.substring(var3 + 1, var4) : var0; } public static void toolError(String var0) { System.out.println(method_4("\u001f1dOU@c") + var0); } public static void warning(String var0) { System.out.println(method_4("\r\"dNN\u0014$,\u0000") + var0); } public static void warning(String var0, int var1) { System.out.println(method_4("\r\"dNN\u0014$-\u0000K\u0013-s\u0000") + var1 + method_4("@c") + var0); } // $FF: renamed from: a (java.lang.String) java.lang.String private static String method_4(String var0) { char[] var1 = var0.toCharArray(); int var2 = var1.length; for(int var3 = 0; var3 < var2; ++var3) { char var10002 = var1[var3]; byte var10003; switch (var3 % 5) { case 0: var10003 = 122; break; case 1: var10003 = 67; break; case 2: var10003 = 22; break; case 3: var10003 = 32; break; default: var10003 = 39; } var1[var3] = (char)(var10002 ^ var10003); } return new String(var1); } }